STM32学习笔记之通用定时器输出PWM信号 | 您所在的位置:网站首页 › stm32 pwm捕获 › STM32学习笔记之通用定时器输出PWM信号 |
STM32 学习笔记之通用定时器输出 PWM 信号
STM32 学习笔记之通用定时器输出 PWM 信号
2013-06-26 11:31:26 分享:
PWM —— Pulse Width Modulation (脉冲宽度调制)。 STM32 除了基本定时器 TIM6 和 TIM7 不能产生 PWM ,其他定时器都能产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出,通用定时器 TIM2-TIM5 每个都能同时产生 4 路 PWM 输 出。
使用通用定时器产生 PWM ,除了使用到 DMA/ 中断使能寄存器 ( TIMx_DIER ) , 预 分 频 寄 存 器 ( TIMx_PSC ) , 重 装 载 寄 存 器 ( TIMx_ARR )还需要用到捕获 / 比较模式寄存器 (TIMx_CCMR1/2) , 捕 获 / 比 较 使 能 寄 存 器 ( TIMx_CCER ) , 捕 获 / 比 较 寄 存 器 ( TIMx_CCR1/2/3/4 ) . 捕获 / 比较模式寄存器( TIMx_CCMR1/2 ),一个 16 位寄存器, 其中 TIMx_CCMR1 控制 CH1 和 CH2 , TIMx_CCMR2 控制 CH3 和 CH4 。设置 OCxM ,三位可以配置 7 种模式,使用 PWM 模式,这三 位必须置为 110 ( PWM 模式 1 ) /111 ( PWM 模式 2 ),这两种模式 区别在于输出电平的极性相反。
捕获 / 比较使能寄存器( TIMx_CCER ),改寄存器控制着各个输入 输出通道的开关,一个 16 位寄存器。
捕获 / 比较寄存器( TIMx_CCR1~4 ) ,16 位寄存器,在输出模式下 该寄存器的值与 CNT 的值比较,根据比较结果产生相应动作,利用这 点,我们通过修改这个寄存器的值,就可以控制 PWM 的输出脉宽。
所以,要实现 PWM 输出需要一下方法配置端口:
1 )开启 TIMx 时钟,配置相应端口为复用输出;
2 )设置 TIMx 的 ARR 和 PSC 。(设置 ARR 和 PSC 的值来控制输 出 PWM 的周期);
3 )设置 TIMx_CHx 的 PWM 模式;
|
CopyRight 2018-2019 实验室设备网 版权所有 |